abstract class Animal {
	eat() {
		console.log('eat');
	}
	abstract sleep(): void;
}

class Cat extends Animal {
	constructor(name: string) {
		super();
		this.name = name;
	}
	public name: string;
	run() {}
	sleep() {}
	private pri() {}
	protected pro() {}
	readonly legs: number = 4;
	static food: string = 'bondes';
}
// 继承

class Persian extends Cat {
	constructor(name: string, public color: string) {
		super(name);
		this.color = color;
	}
	// color: string;
}

class WorkFlow {
	step1() {
		return this;
	}
	step2() {
		return this;
	}
}
new WorkFlow().step1().step2();

class MyFlow extends WorkFlow {
	next() {
		return this;
	}
}
new MyFlow().next().step1().next().step2();
